import axios from 'axios';
import { showToast } from 'vant';
import 'vant/es/toast/style';

// 设置基础请求地址
axios.defaults.baseURL = "https://m.maizuo.com";
axios.defaults.timeout = 3000;

// 请求拦截
axios.interceptors.request.use((config: any) => {
    // 在这里请求拦截的时候，可以读到我们请求头的信息
    const info = config.headers && config.headers.info
    let host = "mall.film-ticket.film.list"
    if (info === "cinema") {
        host = "mall.film-ticket.cinema.list";
    }
    if (info === "info") {
        host = "mall.film-ticket.film.info";
    }
    if (info === "city") {
        host = "mall.film-ticket.city.list";
    }
    if (info === "news") {
        host = "mall.act.static-page.info";
    }
    if (info !== "users") {
        // 卖座网接口，需要定义一些配置规则，才能顺利的发出请求
        config.headers = {
            "X-Client-Info": '{"a":"3000","ch":"1002","v":"5.0.4","e":"1598087896889693885431809","bc":"110100"}',
            "X-Host": host,
        };
    }

    // 在请求发出去之前，进行一些信息设置
    return config;
}, err => {
    // 处理错误信息
    showToast('网络请求失败！');
})

// 响应拦截
axios.interceptors.response.use((res: any) => {
    if (res.data.info === "success" || res.data.msg === "ok" || res.data.info === "OK") {
        showToast("成功返回数据！");
        return res.data;
    } else {
        showToast("数据错误反馈，请检查输入！")
    }
}, err => {
    console.log(err);

    // 处理错误信息
    showToast('网络接口返回数据异常！');
})

export default axios;